package org.sysdance.aplicativo;

import javax.swing.JPasswordField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

@SuppressWarnings("serial")
public class CampoSenha extends JPasswordField{
	
	private int tamanhoCampo;
	private boolean caixaAlta;

	public CampoSenha(int tamanhoCampo,final boolean caixaAlta) {
		this.tamanhoCampo = tamanhoCampo;
		this.caixaAlta = caixaAlta;
		this.setDocument(new DocumentoCaixaAlta());
	}
	
	public class DocumentoCaixaAlta extends PlainDocument {  
	    
		public void insertString(int offs, String valor, AttributeSet a)  throws BadLocationException {  
        	 if (valor == null){
       	         return;
        	 }

       	    if ((getLength() + valor.length()) <= tamanhoCampo) {
       	      super.insertString(offs, caixaAlta ? valor.toUpperCase() : valor.toLowerCase(), a);
       	    } 
        }  
    }  
}
